home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload Trio 2 / Shareware Overload Trio Volume 2 (Chestnut CD-ROM).ISO / dir36 / sstuff30.zip / STUFF.DOC < prev    next >
Text File  |  1993-07-19  |  98KB  |  2,890 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.                
  9.                
  10.                
  11.                
  12.                
  13.                
  14.                
  15.                
  16.                
  17.                
  18.                
  19.                     STEENBURGH'S  STUFF
  20.                   Mildly Useful Utilities
  21.                       For Batch Files
  22.                         Version 3.0
  23.   Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  24.  
  25.                     _______
  26.                ____|__     |               (TM)
  27.             --|       |    |-------------------
  28.               |   ____|__  |  Association of
  29.               |  |       |_|  Shareware
  30.               |__|   o   |    Professionals
  31.             -----|   |   |---------------------
  32.                  |___|___|    MEMBER
  33.  
  34.  
  35.  
  36.  
  37.  
  38.  
  39.  
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.  
  47.  
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55.  
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.                                      Page 1
  63.  
  64.  
  65.  
  66.  
  67.  
  68. Introduction.  .  .  .  .  .  .  .  .  .  .  .  .  .  3
  69.  
  70. Definition of Shareware .  .  .  .  .  .  .  .  .  .  5
  71.  
  72. Disclaimer - Agreement  .  .  .  .  .  .  .  .  .  .  5
  73.  
  74. ASP Ombudsman  .  .  .  .  .  .  .  .  .  .  .  .  .  6
  75.  
  76. BATBOX.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  7
  77.  
  78. BOX.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 11 
  79.  
  80. CHKDRV.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 14 
  81.  
  82. CHKPRN.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 16
  83.  
  84. CHKSYS.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 17
  85.  
  86. CLK.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 19
  87.  
  88. CURSOR.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 22
  89.  
  90. DOSVER.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 24
  91.  
  92. INPUT .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 25
  93.  
  94. KLS.  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 31
  95.  
  96. LAUNCHER .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 33
  97.  
  98. MUSIC .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 36
  99.  
  100. RAND  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 38
  101.  
  102. SIFT  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 39
  103.  
  104. SKIP  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 41
  105.  
  106. SOUNDER  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 42
  107.  
  108. SPACE .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 44
  109.  
  110. WAITFOR  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 46
  111.  
  112. WHENISIT .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 47
  113.  
  114. WRITE .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 50
  115.  
  116. XD .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  . 52
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.                                      Page 2
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.                        INTRODUCTION
  131.                
  132.    Practically everyone who owns a PC has written a batch
  133. file at one time or another.  Batch files can give even the
  134. novice user powerful tools to manage and control his or her
  135. computer.  While the capabilities of batch files have slow-
  136. ly improved through successive releases of MS-DOS, there 
  137. are real limits on what you are capable of with batch files.
  138.  
  139.    Some of the biggest complaints about batch files:
  140.  
  141.    - Lack of interactive features
  142.  
  143.    - Poor screen/speaker output capabilities
  144.  
  145.    - SLOW!
  146.  
  147.    - Inability to to access certain types of system info
  148.  
  149.    Over the years, many batch file "compiler" languages 
  150. have appeared on the scene.  Interested in greater speed
  151. and power for my batch files, I evaluated several of the
  152. shareware versions of these utilities.  Unfortunately,
  153. they only seemed to be as hard (if not harder) than learn-
  154. ing a completely new programming language.  Sometimes,
  155. these systems wouldn't even compile "plain" batch files 
  156. that I was using without any special commands!
  157.  
  158.    Having struck out with the batch file compilers, I
  159. then started collecting miscellaneous utilities to try
  160. to expand my batch file capability piecemeal.  While there
  161. are many excellent programs available, they generally
  162. have drawbacks of one kind or another.  Some programs are
  163. tiny (less than 1K) .COM files that are speedy but don't
  164. do enough and have very limited options.  There are other
  165. programs that are more capable, but bigger and slower and
  166. usually involving several zillion command line switches to
  167. get anything useful out of the program.
  168.  
  169.    Frustrated, I decided to start writing my own set of
  170. utilities.  Over several months' time, these utilities de-
  171. veloped into the collection I call "STEENBURGH's STUFF:
  172. Mildly Useful Utilities."  These programs are listed below:
  173.  
  174.      BATBOX:     Simple menu creation/input system
  175.      BOX:        Place boxes on the screen
  176.      CHKDRV:     Drive status reporting utility
  177.      CHKPRN:     Check parallel printer status
  178.      CHKSYS:     Report device driver/TSR status
  179.      CLK:        Displays time/date on screen
  180.      CURSOR:     Change cursor shape
  181.      DOSVER:     Checks for DOS version
  182.      INPUT:      Advanced prompt/input system
  183.  
  184.                                      Page 3
  185.  
  186.  
  187.  
  188.  
  189.  
  190.      KLS:        Colorful screen-clearing utility
  191.      LAUNCHER:   File selection/execution system
  192.      MUSIC:      Plays transcribed sheet music on the PC
  193.      RAND:       Random number generator
  194.      SIFT:       Multi-purpose DOS filter
  195.      SKIP:       Prints blank lines from batch files
  196.      SOUNDER:    Wide range of noise making options
  197.      SPACE:      File/disk space reporting utility
  198.      WAITFOR:    Timed pauses 
  199.      WHENISIT:   Date/time telling utility
  200.      WRITE:      Colorful output anywhere on screen
  201.      XD:         Create/switch directories at the same time
  202.  
  203.    As much as possible, I have tried to compromise between
  204. program size on the one hand (keeping them small and fast)
  205. and features on the other.  As you will see, many of the
  206. programs are under 15K, and none is over 45K.  While this
  207. is considerably larger than some assembly language programs
  208. (I have a program that prints individual blank lines from
  209. batch files that is only 12 bytes!), the entire collection
  210. takes up very little disk space.  This is less than just 
  211. the documentation for some larger utilities.
  212.  
  213.    The size of these programs is due to their being compiled
  214. in 'C'.  However, these programs are FAST, for several rea-
  215. sons.  First, they were compiled with the Power C compiler
  216. from Mix Software.  Power C may not be the most capable of
  217. compilers, but it is probably the fastest DOS compiler around
  218. overall.  Second, these programs leave out some of the "cute" 
  219. features that other programs include that slow them down con-
  220. siderably.  For example, when you run "MUSIC" you'll hear 
  221. sounds all right, but no animated cherubs will perform aero-
  222. batics while the music plays.  When you run SPACE, you will 
  223. not see an aquarium filled with swimming fish representing 
  224. the number of occupied bytes of disk space.  And, (I can't
  225. resist), NO FLYING TOASTERS.  Instead, you will get concise, 
  226. neat information on the screen, in most cases accompanied by 
  227. an errorlevel which can be evaluated by your batch files.
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.                                      Page 4
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252. DEFINITION OF SHAREWARE
  253.  
  254. Shareware distribution gives users a chance to try software
  255. before buying it. If you try a Shareware program and continue
  256. using it, you are expected to register. Individual programs
  257. differ on details -- some request registration while others
  258. require it, some specify a maximum trial period. With
  259. registration, you get anything from the simple right to continue
  260. using the software to an updated program with printed manual.
  261.  
  262. Copyright laws apply to both Shareware and commercial software,
  263. and the copyright holder retains all rights, with a few specific
  264. exceptions as stated below. Shareware authors are accomplished
  265. programmers, just like commercial authors, and the programs are
  266. of comparable quality. (In both cases, there are good programs
  267. and bad ones!) The main difference is in the method of
  268. distribution. The author specifically grants the right to copy
  269. and distribute the software, either to all and sundry or to a
  270. specific group. For example, some authors require written
  271. permission before a commercial disk vendor may copy their
  272. Shareware.
  273.  
  274. Shareware is a distribution method, not a type of software. You
  275. should find software that suits your needs and pocketbook,
  276. whether it's commercial or Shareware. The Shareware system makes
  277. fitting your needs easier, because you can try before you buy.
  278. And because the overhead is low, prices are low also. Shareware
  279. has the ultimate money-back guarantee -- if you don't use the
  280. product, you don't pay for it.
  281.  
  282.  
  283. DISCLAIMER - AGREEMENT
  284.  
  285. Users of STEENBURGH's STUFF must accept this disclaimer of war-
  286. ranty:
  287.  
  288. "STEENBURGH's STUFF is supplied as is.  The author disclaims all
  289. warranties, expressed or implied, including, without limitation,
  290. the warranties of merchantability and of fitness for any pur-
  291. pose.  The author assumes no liability for damages, direct or 
  292. consequential, which may result from the use of STEENBURGH'S 
  293. STUFF."  However, Tay-Jee Software will replace a DEFECTIVE 
  294. diskette at ANY time.  Simply return the original, DEFECTIVE
  295. diskette and we'll send you a new one for a nominal replacement
  296. fee (currently $2) to cover the cost of replacement.
  297.  
  298. STEENBURGH's STUFF is a "shareware program" and is provided at 
  299. no charge to the user for evaluation.  Feel free to share it 
  300. with your friends, but please do not give it away altered or 
  301. as part of another system.  The essence of "user-supported" 
  302. software is to provide personal computer users with quality 
  303. software without high prices, and yet to provide incentive 
  304. for programmers to continue to develop new products.  If you 
  305.  
  306.                                      Page 5
  307.  
  308.  
  309.  
  310.  
  311.  
  312. find this program useful and find that you are using STEEN-
  313. BURGH'S STUFF and continue to use STEENBURGH's STUFF after a 
  314. reasonable trial period, you must make a registration payment 
  315. of $19.95-$29.95 to Tay-Jee Software.  The registration fee will
  316. license one copy for use on any one computer at any one time.  
  317. You must treat this software just like a book.  An example is 
  318. that this software may be used by any number of people and may 
  319. be freely moved from one computer location to another, so long 
  320. as there is no possibility of it being used at one location 
  321. while it's being used at another.  Just as a book cannot be 
  322. read by two different persons at the same time.
  323.  
  324. Users have two registration options: BASIC ($19.95) and DELUXE
  325. ($29.95).  BASIC registration includes a copy of the latest,
  326. registered versions of the utilities on disk.  DELUXE registra-
  327. tion also includes the latest versions, plus laser printed
  328. documentation on mylar-reinforced sheets enclosed in a plastic
  329. binder.  DELUXE registration also incldues free documentation
  330. upgrades when the user upgrades to a later version of STEEN-
  331. BURGH's STUFF.
  332.  
  333. Commercial users of STEENBURGH's STUFF must register and pay 
  334. for their copies of STEENBURGH's STUFF within 30 days of first 
  335. use or their license is withdrawn.  Site-License arrangements 
  336. may be made by contacting Tay-Jee Software.
  337.  
  338. Anyone distributing STEENBURGH's STUFF for any kind of remun-
  339. eration should refer to the file VENDOR.DOC in the accompany-
  340. ing package/archive for further information.
  341.  
  342. You are encouraged to pass a copy of STEENBURGH's STUFF along 
  343. to your friends for evaluation.  Please encourage them to 
  344. register their copy if they find that they can use it.  All 
  345. registered users will receive a copy of the latest version of 
  346. the STEENBURGH's STUFF system.
  347.  
  348.  
  349. ASP OMBUDSMAN
  350.  
  351.   This program is produced by a member of the Association of
  352. Shareware Professionals (ASP).  ASP wants to make sure that
  353. the shareware principle works for you.  If you are unable to
  354. resolve a shareware-related problem with an ASP member by
  355. contacting the member directly, ASP may be able to help.  The
  356. ASP Ombudsman can help you resolve a dispute or problem with
  357. an ASP member, but does not provide technical support for 
  358. members' products.  Please write to the ASP Ombudsman at 545
  359. Grover Road, Muskegon, MI 49442 or send a CompuServe message
  360. via CompuServe Mail to ASP Ombudsman, 70007,3536.
  361.  
  362.  
  363.  
  364.  
  365.  
  366.  
  367.                                      Page 6
  368.  
  369.  
  370.  
  371.  
  372.  
  373.               
  374.               INDIVIDUAL PROGRAM DESCRIPTIONS
  375.               ========== ======= ============
  376.  
  377.  
  378. BATBOX.EXE 2.7                                                  |
  379. Copyright 1991-1993 by Chuck Steenburgh and Tay-Jee Software
  380.  
  381.    People have been creating menus with batch files for
  382. years.  Some of these are quite elaborate, others very crude.
  383. BATBOX is something in between.  BATBOX will allow you to
  384. display an attractive, colorful menu and will wait for
  385. the user to make a selection.  It will then set an appro-
  386. priate ERRORLEVEL value which can be used to determine sub-
  387. sequent actions in your batch file.
  388.  
  389. Usage:       BATBOX  menufile [/C] [/Dn] [/Tn] [/M] [/Wn] [/H]  |
  390.                      [/O] [/Q] [/Pn]
  391.  
  392.           menufile        is the name of an ASCII text 
  393.                           file which you create.  This
  394.                           will contain the menu's title
  395.                           and a list of options.
  396.                           
  397.           /C              Normally, the longest menu item  
  398.                           is centered in the menu box and  
  399.                           subsequent items are left-aligned
  400.                           below it.  This switch will cause
  401.                           each menu item to be centered in 
  402.                           the menu box.
  403.           
  404.           /Dn             Date format.  Current valid values    
  405.                           for n are:                            
  406.                           
  407.                                1   YY.MM.DD
  408.                                2   Short month (DD Mmm YY)      
  409.                                3   Weekday (Www MM DD)          
  410.                                -   Turn off date display        
  411.                           
  412.           /Tn             Time format.  Valid values for n are: 
  413.           
  414.                                1   Display time using 12-hour   
  415.                                    clock with AM/PM             
  416.                                2   24-hour clock, no seconds    
  417.                                3   12-hour clock, no seconds
  418.           
  419.           /M              Set BATBOX master environment variable|
  420.                           equal to menu item selected.          |
  421.           
  422.           /Wn             Exit menu if no keys are pressed with-
  423.                           in n seconds and return errorlevel of
  424.                           255.
  425.           
  426.           /H              Generates help screen.
  427.  
  428.                                      Page 7
  429.  
  430.  
  431.  
  432.  
  433.  
  434.  
  435.           /O              Ordinal menu selection.  Instead
  436.                           of returning an errorlevel based
  437.                           on the hotkey, returns an error-
  438.                           level based on the ordinal pos- 
  439.                           ition of the selected menu item.
  440.                           
  441.           /Q              Quiet mode suppresses all sounds.
  442.           
  443.           /Pn             Select predefined color palettes:
  444.                                1 - Ice Blue
  445.                                2 - Fire Red
  446.                                3 - Pastel
  447.                                4 - Monochrome
  448.                                5 - LCD 1 (B/W)                  |
  449.                                6 - LCD 2 (W/B)                  |
  450.           
  451.    To create a menufile, use a text editor, word processor that 
  452. can save ASCII files, or EDLIN.COM or EDIT.COM that come with 
  453. DOS.  In a pinch, you can use the "copy con" command but this 
  454. doesn't give you much in the way of an editing capability.
  455.  
  456.    The structure of the menufile is simple.  The first line
  457. contains your menu's title, up to 60 characters.  If you
  458. don't want a title, leave the line blank, without any spaces.
  459. (Hint:  press RETURN immediately without doing anything else 
  460. when you first begin editing your document.)  Each succes-
  461. sive line contains a menu item, exactly as you want it to ap-
  462. pear on the screen.  Do NOT include any blank lines here or 
  463. you will end up with blank lines in your menu!
  464.  
  465.    A few limitations:  each line can contain no more than 60
  466. characters (if you need more than this to describe your menu
  467. choices, maybe you need Microsoft Windows, a Macintosh, or 
  468. something else with lots of pictures!).  In addition, your menu
  469. items (but NOT the menu title) should each begin with a dis-
  470. tinct letter in order for the selection function to work pro-
  471. perly.  The selection function for BATBOX is case-insensitive,
  472. so if you begin one line with the letter 's' and the other
  473. with the letter 'S', these are considered the same.  Up to
  474. 10 menu items are permitted in any one file.
  475.  
  476.    By default, BATBOX treats the first letter of each menu item |
  477. as a "hot key" which can be used to select that item.  If for   |
  478. some reason you prefer to use a letter other than the first as  |
  479. a "hot key," insert the "@" character immediately before the    |
  480. desired hot key.  The "@" character will NOT appear on the menu.|
  481.  
  482.    When you type BATBOX on the command line followed by the
  483. name of your menufile (they must both be in the current dir-
  484. ectory), you will see a menu pop up in the middle of the
  485. screen.  The title will appear at the top, with each of your
  486. menu items (up to ten) appearing at double spaced-intervals
  487. inside the menu box.  Each item will also be numbered from 1  
  488.  
  489.                                      Page 8
  490.  
  491.  
  492.  
  493.  
  494.  
  495. to 0 (the 10th item being numbered "0").  At the bottom of the
  496. menu you will see a the message "Enter your menu choice: ".  
  497. If you have a color monitor, you will notice that the first 
  498. letter (the "hot key") of each menu item appears in a different |
  499. color than the rest of the text (unless you have specified a    |
  500. different letter as the "hot key"; see above).  The time and    |
  501. date will also be displayed at the top of the menu.             |
  502.  
  503.    There are now three separate methods of selecting a menu    
  504. item.  The first is by pressing the hotkey described above.    
  505. The second is by pressing the item number displayed to the left
  506. of each menu item (1-0, with 0 representing item 10).  The     
  507. third method, new since Version 2.5, is by positioning the cur-
  508. sor bar over the appropriate menu item and pressing ENTER.  Use
  509. the up/down cursor arrow keys to move the bar up and down.  You
  510. may also use the PgUp key to position the bar over the first   
  511. menu item and the PgDn key to position it over the last menu   
  512. item.  PRESSING ANY OTHER KEY will produce an error tone (un-  
  513. less the /Q switch is specified) but otherwise do nothing.     
  514.  
  515.    After selecting a menu item in one of the ways above, BATBOX
  516. will then exit, and return an errorlevel based on the hotkey.  
  517. See Appendix 1 for a list of legal first letters and the error-
  518. levels that are returned by BATBOX.  If you select the /O op- 
  519. tion, BATBOX will return the position of the selected menu item
  520. via the errorlevel.  For example, if you select the 1st item on
  521. the list and have specified /O, the errorlevel will be set to  
  522. 1.  If you select the 5th item, the errorlevel will be 5, and  
  523. so on.  You can use the errorlevel value that is returned to   
  524. branch to different parts of your batch file or to execute 
  525. commands.  See the DEMO.BAT file for an example of one way to 
  526. do this. (DEMO.BAT is part of the STUF??.ZIP archive which     
  527. contains demonstration files for all of the STEENBURGH'S STUFF 
  528. utilities).
  529.  
  530.    If you do not wish to select a menu item, simply press the   |
  531. ESC (escape) key.  You will exit the menu and BATBOX will re-   |
  532. turn an errorlevel of 254.                                      |
  533.  
  534.    The errorlevel that is returned is affected only by the /O  
  535. switch, and NOT by whether the item is selected via the hotkey,
  536. the item number, or the cursor bar.
  537.  
  538.    The /M (master environment) switch provides an alternate     |
  539. method of communicating the menu selection.  If this switch     |
  540. is used, a master environment variable named BATBOX will be     |
  541. set equal to the text of the menu item selected.  For an exam-  |
  542. ple of the utility of this feature, see the enclosed batch file |
  543. SCD.BAT.                                                        |
  544.  
  545.    If you enter BATBOX alone on the command line without any
  546. parameters, the help screen will be displayed.
  547.  
  548. Time/Date Formats                                               |
  549.  
  550.                                      Page 9
  551.  
  552.  
  553.  
  554.  
  555.  
  556.  
  557.   By default, BATBOX will read country information from your    |
  558. system and format the time and date displays accordingly.  You  |
  559. may override the default display settings by using the /D or /T |
  560. switches on the command line.                                   |
  561.  
  562. Customizing Colors
  563.  
  564. Beginning with version 2.1, BATBOX users can customize their
  565. menu's colors by using a small text file called BATBOX.CFG.
  566. Using the color codes from Appendix 3 of STEENBURGH'S STUFF
  567. documentation, enter a color value into a text file for the
  568. following items, one entry per line:
  569.  
  570.      Line #       Controls       Valid Values
  571.      ======       ========       ============
  572.        1       Menu color            1-127
  573.        2       Menu border type      1-4
  574.        3       Menu shadow pattern   1-3
  575.        4       Menu title color      1-255
  576.        5       Menu interior color   1-127
  577.        6       Menu item color       1-255
  578.        7       Hot key color         1-255
  579.        8       Cursor bar color      1-255
  580.        9       Prompt message color  1-255
  581.       10       Date/time color       1-255
  582.  
  583. See the enclosed file BATBOX.CFG for an example.  The 5 pre-
  584. defined color palettes (one default and four selectable with
  585. the /P switch) are shown below.  The registered version of BAT- |
  586. BOX includes the program BATCOLOR, a color configuration util-  |
  587. ity which can help you create the BATBOX.CFG file.              |
  588.  
  589.                  PREDEFINED COLOR PALETTES
  590.  
  591.                0       1       2       3       4      5      6
  592.              =====   =====   =====   =====   =====  =====  =====
  593. Menu color     79      27      78      53     112     96     32
  594. Menu border     2       1       1       1       1      3      3
  595. Menu shadow     2       3       2       3       2      1      1
  596. Menu title     79      27     116      95      14     95     96
  597. Menu interior  31      27      64      48       0    111     47
  598. Menu item      79      27     116      53       7    111     32
  599. Hot key        30      31      79      63      14     14     14
  600. Cursor bar     14      49      78      95     112     14     14
  601. Prompts        31      27     116      61       7     96     47
  602. Date/time     113      27     124      53       7     96     47
  603.  
  604.  
  605.  
  606.  
  607.  
  608.  
  609.  
  610.  
  611.                                      Page 10
  612.  
  613.  
  614.  
  615.  
  616.  
  617. BOX Version 1.2
  618. Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  619.  
  620. BOX helps to bridge a gap between the BATBOX and WRITE/INPUT 
  621. components of STEENBURGH's STUFF.  People have often expressed 
  622. a desire to create "dialog boxes" from within batch files,
  623. using a shadowed box similar to that used by BATBOX.  BOX now
  624. provides this capability of creating a box on the screen, which
  625. can subsequently be filled with text via a WRITE or INPUT call.
  626.  
  627. Usage:       BOX /Ln /Tn [/Hn /Wn /Yn /Cn /In /S[-|n] /?]       |
  628.         or   BOX textfile [/Cn] [/In] [/Xn] [/S-|/Sn] [/?]      |
  629.  
  630.           /Ln             Column location for leftmost edge of
  631.                           box.
  632.            
  633.           /Tn             Row location for topmost edge of box.
  634.            
  635.           /Hn             Height of box in rows.
  636.            
  637.           /Wn             Width of box in rows.
  638.            
  639.           /Yn             Style of box (one of nine styles shown
  640.                           below)
  641.            
  642.           /Bn             Background color of box border
  643.            
  644.           /Fn             Foreground color of box border        |
  645.            
  646.           /In             Interior color of box
  647.           
  648.           /Xn             Text display color                    |
  649.            
  650.           /S-             Disable drop shadow
  651.            
  652.           /Sn             Style of shadow (one of three styles
  653.                           shown below)
  654.           
  655.           /?              Displays brief help screen
  656.  
  657. Examples:
  658.  
  659.      BOX /T5 /L20
  660.      
  661.    Displays a single-line box, centered on screen, with top left
  662. corner located in row 5, column 20, in white on black.
  663.  
  664.      BOX /T10 /L30 /H4 /C79 /I4 /Y2                             |
  665.      
  666.    Displays a double-line box 4 rows high, centered horizontally
  667. on the screen, located in row 10, column 30.  Box is bright
  668. white on red with a red interior.
  669.  
  670.      BOX /L60 /T15 /H3 /W10 /S-
  671.  
  672.                                      Page 11
  673.  
  674.  
  675.  
  676.  
  677.  
  678.  
  679.    Displays a 3 row-by-10-column single-line box, with top left
  680. corner located in row 15, column 60.  Box is white on black with
  681. no drop shadow.
  682.  
  683.      BOX hello.txt /X79                                         |
  684.    
  685.    Displays up to 20 lines of text from the file HELLO.TXT in a |
  686. box centered on the screen.  Text is bright white on red.       |
  687.  
  688.    The leftmost column (/Ln) must be at least 1, and no greater
  689. than 78.  The topmost row (/Tn) must be at least 1, and no
  690. greater than 22 for a 25-line screen, 40 for a 43-line EGA      |
  691. screen, or 47 for a 50-line VGA screen.  (These limits are im-  |
  692. posed to make room for a drop shadow.)  The box must also be at |
  693. least two rows "tall" (/Hn) and at least two columns "wide"     |
  694. (/Wn).                                                          |
  695.  
  696.    The nine box styles are listed below:
  697.    
  698.      1 - Single edge box
  699.      2 - Double edge box
  700.      3 - Double horizontal/single vertical edge box
  701.      4 - Single horizontal/double vertical edge box
  702.      5 - Thick edge box
  703.      6 - Medium edge box
  704.      7 - Shaded thick box (ASCII 176)
  705.      8 - Shaded thick box (ASCII 177)
  706.      9 - Shaded thick box (ASCII 178)
  707.  
  708.    Styles 7, 8, and 9 correspond to the three shadow styles.
  709. /S1 produces a shadow using ASCII 176, /S2 using ASCII 177,
  710. and /S3 using ASCII 178.  The default is /S2.
  711.  
  712.    Use the following guide for foreground and background colors:
  713.  
  714. Value for n               Foreground              Background
  715. ===========               ==========              ==========
  716.      0                      Black                    Black 
  717.      1                      Blue                     Blue
  718.      2                      Green                    Green
  719.      3                      Cyan                     Cyan
  720.      4                      Red                      Red
  721.      5                      Magenta                  Magenta
  722.      6                      Brown                    Brown
  723.      7                      White                    White
  724.      8                      Grey                     Black*
  725.      9                      Light blue               Blue*
  726.     10                      Light green              Green*
  727.     11                      Light cyan               Cyan*
  728.     12                      Light red                Red*
  729.     13                      Light magenta            Magenta*
  730.     14                      Yellow                   Brown*
  731.     15                      Bright white             White*
  732.  
  733.                                      Page 12
  734.  
  735.  
  736.  
  737.  
  738.  
  739.     
  740.     * indicates "blinking" foreground colors.
  741.     
  742.    To calculate the color value for the /C switch, multiply the |
  743. background value by 16 and add the foregrond value.  Use the    |
  744. same values for text colors (/X).                               |
  745.  
  746.    Additionally, n values of 0 to 7 are valid for interior
  747. colors (/In).  The box will be filled with spaces (ASCII 32)
  748. with a background color corresponding to that of the attribute
  749. selected from the chart above.
  750.  
  751.    The following errorlevel values are returned:
  752.    
  753.    0 - Normal exit, no errors
  754.    1 - Invalid left column (/Ln)                                |
  755.    2 - Invalid top row (/Tn)                                    |
  756.    3 - Invalid box height (/Hn)                                 |
  757.    4 - Invalid box width (/Wn)                                  |
  758.    5 - Invalid box color (/Cn)                                  |
  759.    6 - Invalid text color (/Tn)                                 |
  760.    7 - Invalid shadow style (/Sn)                               |
  761.    8 - Invalid fill color (/In)                                 |
  762.    9 - Invalid text file name                                   |
  763.  255 - Help screen displayed/no parameters entered
  764.  
  765.         
  766.  
  767.  
  768.  
  769.  
  770.  
  771.  
  772.  
  773.  
  774.  
  775.  
  776.  
  777.  
  778.  
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.  
  790.  
  791.  
  792.  
  793.  
  794.                                      Page 13
  795.  
  796.  
  797.  
  798.  
  799.  
  800. CHKDRV Version 2.0                                              |
  801. Copyright 1992-1993 Chuck Steenburgh & Tay-Jee Software         |
  802.  
  803.  
  804.    CHKDRV will report all existing, valid disk drive letters,
  805. or check the validity of a specific drive.
  806.  
  807. Syntax:
  808.  
  809.      CHKDRV [d:] [/D] [/K] [/Q] [/V] [/Xtypelist] [/H | /?]
  810.  
  811. d:           Optional drive letter to check
  812.  
  813. /D           Detailed errorlevel report                         |
  814.  
  815. /K           disable drive types Key                            |
  816.  
  817. /Q           Quiet mode (driver letters only, no key or symbols)|
  818.  
  819. /V           Verify drive status (physical check)               |
  820.  
  821. /Xtypelist   eXclude certain types of drives.  Include one or   |
  822.              of the following codes in typelist:                |
  823.              
  824.                  f - floppy drives                              |
  825.                  h - hard drvies                                |
  826.                  n - networked (remote) drives                  |
  827.                  l - networked (local) drives                   |
  828.                  d - device-driven drives                       |
  829.                  r - RAM disks                                  |
  830.                  s - SUBSTed drives                             |
  831.                  
  832. /H | /?      brief Help screen
  833.                   
  834.    Used alone on the command line, CHKDRV will print a listing
  835. of all valid disk drive letters, including "ghost" drives,
  836. RAM disks, networked, or SUBSTed drives.  CHKDRV will set the
  837. DOS errorlevel equal to the total number of drives installed.
  838. Unless the /Q switch is used, each drive letter will be follow- |
  839. ed by one or more symbols indicating its characteristics.  A    |
  840. key explaining these symbols appears below the dirve list unless|
  841. disabled by the /K switch.
  842.  
  843.    Normally, upper-case drive letters are used to indicate all  |
  844. fixed disks, while removable (floppy) devices are indicated by  |
  845. lower case letters.                                             |
  846.  
  847.    If an optional drive letter (with ot without colon) is spec-
  848. ified, CHKDRV will determine if that letter is assigned to a
  849. valid disk drive.  CHKDRV will inform you of the drive's status
  850. via a screen message and errorlevel return.  An errorlevel of
  851. 0 indicates that the specified drive exists, while an errorlevel
  852. of 255 indicates an invalid drive.  When the /D switch is used, |
  853. a more detailed errorlevel report wil be given, indicating the  |
  854.  
  855.                                      Page 14
  856.  
  857.  
  858.  
  859.  
  860.  
  861. size of the drive.                                              |
  862.  
  863.    In the event of an error, or if the /H parameter is speci-
  864. fied, a brief help screen is displayed, and the errorlevel is
  865. set to 254.
  866.  
  867.    Errorlevel return table for /D switch:
  868.    
  869.    Errorlevel                  Drive type:
  870.    
  871.         1                      5¼" (360k)                       |
  872.         2                      5¼" (1.2M)                       |
  873.         3                      3½" (720k)                       |
  874.         4                      3½" (1.4M)                       |
  875.         5                      3½" (2.8M)                       |
  876.         6                      Floptical                        |
  877.         7                      Fixed disk                       |
  878.         8                      Tape drive                       |
  879.         9                      8" drive                         |
  880.        19                      Write protected disk (/V switch) |
  881.        21                      No disk in drive (/V switch)     |
  882.        31                      Unformatted disk (/V switch)     |
  883.       100                      Unknown                          |
  884.       255                      Does not exist                   |
  885.  
  886.  
  887.  
  888.  
  889.  
  890.  
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898.  
  899.  
  900.  
  901.  
  902.  
  903.  
  904.  
  905.  
  906.  
  907.  
  908.  
  909.  
  910.  
  911.  
  912.  
  913.  
  914.  
  915.  
  916.                                      Page 15
  917.  
  918.  
  919.  
  920.  
  921.  
  922.  
  923. CHKPRN Version 1.0
  924. Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  925.  
  926.    CHKPRN will check the status of a printer attached to ports
  927. 1, 2, or 3 (LPT1-LPT3).
  928.  
  929. Usage:       CHKPRN [LPTn]
  930.  
  931.           LPTn            Optional parameter specifying port
  932.                           to check.  Valid values for n: 1-3
  933.                           
  934. Examples:
  935.  
  936.      CHKPRN               Checks status of LPT1
  937.      
  938.      CHKPRN LPT3          Checks status of LPT3
  939.      
  940.    CHKPRN will display a message indicating the status of the
  941. printer.  If the printer is ready, the errorlevel will be set
  942. to 0.  If the printer is not ready, a tone will sound and the
  943. errorlevel will be set to 1.
  944.  
  945.    The included file SAFEPRN.BAT will check if the printer is
  946. ready before copying a file to it.  Use SAFEPRN.BAT to print
  947. text files from the DOS command line.  The syntax for SAFEPRN
  948. is as follows:
  949.  
  950.              SAFEPRN filename LPTn:
  951.  
  952.            filename       Name of the file you wish to print.
  953.            
  954.            LPTn           Printer port destination (n=1,2, or 3)
  955.  
  956.    Errorlevel report table:
  957.    
  958.    Errorlevel                  Condition
  959.        
  960.        0                       Printer is ready
  961.        1                       Printer not switched on
  962.        2                       Printer out of paper
  963.        3                       Printer not connected
  964.        4                       Printer off line
  965.        5                       No parallel port installed
  966.       100                      Unknown printer error
  967.  
  968.  
  969.  
  970.  
  971.  
  972.  
  973.  
  974.  
  975.  
  976.  
  977.                                      Page 16
  978.  
  979.  
  980.  
  981.  
  982.  
  983.      
  984.  
  985. CLK 2.51                                                        |
  986. Copyright 1991-1993 by Chuck Steenburgh & Tay-Jee Software
  987.  
  988.    DOS offers the TIME and DATE commands which allow to   
  989. display, then set, the time and date.  Unfortunately,     
  990. these commands "hang up" your system in that they prompt  
  991. you for a new time and/or date when entered by themselves 
  992. on the command line.  CLK allows you to display the time  
  993. and date and then immediately terminate.                  
  994.  
  995. Usage:     CLK [/T] [/W] [/M] [/D] [/C] [/Rnn] [/Lnn] [nnn] [/E]|
  996.        or  CLK "Format" [/C] [/Rnn] [/Lnn] [nnn] [/E]           |
  997.  
  998.           /T             displays the time in 24-hour 
  999.                          format                       
  1000.                          
  1001.           /W             displays three-letter abbreviation 
  1002.                          for the day of the week            
  1003.                         
  1004.           /M             displays three-letter abbreviation 
  1005.                          for the month                      
  1006.                          
  1007.           /D             displays the date
  1008.           
  1009.           /C             centers the displayed string on the
  1010.                          current line.
  1011.                          
  1012.           /Rnn           displays string on row nn, where nn is 
  1013.                          a number between 0 and 24.             
  1014.                          
  1015.           /Lnn           displays string starting in column nn, 
  1016.                          where nn is a number between 0 and 79. 
  1017.                          
  1018.           nnn            displays output in color nnn, where nnn
  1019.                          is a number between 0 and 255.  See    
  1020.                          Appendix 3 for color information.
  1021.           
  1022.           /E             set result to environment variable CLK |
  1023.                          
  1024.           "Format"       displays special time elements as part 
  1025.                          of a formatted string.  Must be enclos-
  1026.                          ed in quotes.  See below for details.  
  1027.                                                                 
  1028. Examples: (assuming run at 11:45am Sunday 6 October 1991)      
  1029.                          
  1030.      CLK                 displays the current time and date in 
  1031.                          the form: Sun Oct 06 11:45:00 1991    
  1032.                          
  1033.      CLK /t              displays time: 11:45:00               
  1034.      
  1035.      CLK /w              displays day of the week: Sun         
  1036.      
  1037.  
  1038.                                      Page 17
  1039.  
  1040.  
  1041.  
  1042.  
  1043.  
  1044.      CLK /m              displays month: Oct                   
  1045.      
  1046.      CLK /d              displays date: 06                     
  1047.      
  1048.      CLK /t /m /d /w     displays: 11:45:00 Sun Oct 06         
  1049.      
  1050.      CLK /c /w /t        displays: 11:45:00 Sun (centered on
  1051.                          current line)                      
  1052.                          
  1053.      CLK /c /t /r10 79   displays 11:45:00 centered on line 10  
  1054.                          in bright white on a red background    
  1055.                          
  1056.      CLK "Time: 0"      displays: Time: 11:45:00
  1057.      
  1058.      CLK /t /e           displays 11:45:00, sets environment    |
  1059.                          variable CLK equal to the string       |
  1060.                          "11:45:00"                             |
  1061.      
  1062.    Command-line parameters may be entered in any order.  Dif- 
  1063. ferent elements of the date/time, however, will always be dis-
  1064. played in the following order: time, day of the week, month,  
  1065. and date.
  1066.  
  1067.    The format string combines text with special replaceable     
  1068. parameters to produce customized output.  The text, which       
  1069. should be enclosed in quotes, can be a message which includes   
  1070. elements of the time.  Use replaceable parameters, prefixed by  
  1071. the percent () sign, to represent the following data:          
  1072.  
  1073.    a   Abbreviated weekday (i.e., Sun, Mon, etc.)              
  1074.    A   Full weekday                                            
  1075.    b   Abbreviated month (i.e., Jan, Feb, etc.)                
  1076.    B   Full month                                              
  1077.    0   Day of the month (01-31)                                
  1078.    H   Hour (24-hour clock 00-23)                              
  1079.    I   Hour (12-hour clock 00-11)                              
  1080.    j   Julian date (0-366)                                     
  1081.    m   Month (01-12)                                           
  1082.    M   Minute (00-59)                                          
  1083.    0000   Meridian (am or pm)                                     
  1084.    S   Second (00-59)                                          
  1085.    U   Week of the year (00-52), Sundays first                 
  1086.    W   Week of the year (00-52), Mondays first                 
  1087.    w   Day of the week (0-6), Sunday first                     
  1088.    0   Date (MM/DD/YY)                                         
  1089.    0   Time (HH:MM:SS)                                         
  1090.       Year (00-99)                                            
  1091.    Y   Year (0000-9999)                                        
  1092.    Z   Timezone                                                
  1093.  
  1094.    Special note:  when using CLK with a custom format string    
  1095. in a batch file, you must use the double percent sign (%) when 
  1096. prefixing the special replaceable parameters.                   
  1097.  
  1098.  
  1099.                                      Page 18
  1100.  
  1101.  
  1102.  
  1103.  
  1104.  
  1105. Examples:
  1106.  
  1107.      From the command line:
  1108.      
  1109.      CLK "The time is now: 0.  You have thirty minutes."
  1110.      
  1111.      produces the string:
  1112.      
  1113.      The time is now: 11:45:00.  You have thirty minutes.
  1114.      
  1115.      
  1116.      From a batch file:
  1117.      
  1118.      CLK "Today is %d %B, %Y."
  1119.      
  1120.      produces the string:
  1121.      
  1122.      Today is 06 October, 1991.
  1123.  
  1124.    For additional options in setting elements of the time to an |
  1125. environment variable, see the program WHENISIT (also part of    |
  1126. STEENBURGH's STUFF.                                             |
  1127.  
  1128.  
  1129.  
  1130.  
  1131.  
  1132.  
  1133.  
  1134.  
  1135.  
  1136.  
  1137.  
  1138.  
  1139.  
  1140.  
  1141.  
  1142.  
  1143.  
  1144.  
  1145.  
  1146.  
  1147.  
  1148.  
  1149.  
  1150.  
  1151.  
  1152.  
  1153.  
  1154.  
  1155.  
  1156.  
  1157.  
  1158.  
  1159.                                      Page 19
  1160.  
  1161.  
  1162.  
  1163.  
  1164.  
  1165.  
  1166.  
  1167.  
  1168. CURSOR
  1169. Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  1170.  
  1171.    CURSOR will change the DOS cursor from an "underscore"
  1172. into a block and back again.
  1173.  
  1174. Usage:       CURSOR +|-
  1175.  
  1176.           +               Changes cursor into a block
  1177.           
  1178.           -               Changes cursor into an underscore
  1179.           
  1180. Examples:
  1181.  
  1182.  
  1183.                                      Page 20
  1184.  
  1185.  
  1186.  
  1187.  
  1188.  
  1189.      CURSOR +             Turns the cursor into a block shape
  1190.                           (blinking ASCII 219 character)
  1191.                           
  1192.      CURSOR -             Turns the cursor into an underscore
  1193.                           (blinking ASCII 95 characters)
  1194.                           
  1195.    CURSOR will return an errorlevel of 1 if the cursor was
  1196. changed to block shape, 0 if changed to underscore, or 2 if
  1197. an error occurred.
  1198.  
  1199.  
  1200.  
  1201.  
  1202.  
  1203.  
  1204.  
  1205.  
  1206.  
  1207.  
  1208.  
  1209.  
  1210.  
  1211.  
  1212.  
  1213.  
  1214.  
  1215.  
  1216.  
  1217.  
  1218.  
  1219.  
  1220.  
  1221.  
  1222.  
  1223.  
  1224.  
  1225.  
  1226.  
  1227.  
  1228.  
  1229.  
  1230.  
  1231.  
  1232.  
  1233.  
  1234.  
  1235.  
  1236.  
  1237.  
  1238.  
  1239.  
  1240.  
  1241.  
  1242.  
  1243.  
  1244.                                      Page 21
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251. DOSVER.EXE Version 1.1
  1252. Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  1253.  
  1254.    Use this program to determine what version of DOS is currently
  1255. running on the system.
  1256.  
  1257. Usage:       DOSVER [n.n]
  1258.  
  1259.           [n.n]           optional version to check for
  1260.  
  1261. Examples:
  1262.  
  1263.      DOSVER               returns an errorlevel based on
  1264.                           version of DOS currently loaded
  1265.                           
  1266.      DOSVER 3.3           checks to see if DOS version 3.3,
  1267.                           or higher, is loaded
  1268.                           
  1269.    DOSVER returns two possible errorlevels, based on whether
  1270. it is reporting the DOS version or checking for a specific
  1271. version number.
  1272.  
  1273.    When entered without parameters, DOSVER returns an error-
  1274. level according to the chart below:
  1275.  
  1276.           DOS Version                Errorlevel Returned
  1277.           ===========                ===================
  1278.               5.00                            50
  1279.               4.01                            40
  1280.               3.3                             33
  1281.               3.21                            32
  1282.                .                               .
  1283.                .                               .
  1284.               2.0                             20
  1285.               etc.
  1286.        
  1287.    When entered with a version number on the command line,
  1288. DOSVER returns the following errorlevels:
  1289.        
  1290.             Errorlevel                 Meaning
  1291.             ==========                 =======
  1292.                  2                     Loaded DOS higher version
  1293.                  1                     Loaded DOS same version
  1294.                  0                     Loaded DOS lower version
  1295.        
  1296.  
  1297.    DOSVER also prints a brief screen message stating the DOS    |
  1298. version in use.                                                 |
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.                                      Page 22
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312. INPUT v3.11                                                     |
  1313. Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  1314.  
  1315.    If you use batch files very often, you've probably acquired
  1316. a program called ASK.COM or QUERY.COM or something similar 
  1317. that allows you to ask questions and receive simple responses.
  1318. Usually, this involves typing an ECHO command with your
  1319. question, followed by ASK.COM or whatever.  If you do this
  1320. a lot, you will probably appreciate the fact the INPUT.EXE
  1321. will accomplish the jobs of both the ECHO and ASK commands.
  1322. Add to this the greater flexibility that INPUT.EXE offers
  1323. in presenting your prompt to the user and in receiving input,
  1324. and you'll be sold.
  1325.  
  1326. Usage: INPUT ["prompt"] [nnn] [Options]
  1327.              
  1328.  
  1329.           "prompt"        Enter the text you would like to
  1330.                           appear to prompt the user for
  1331.                           input.  This can be up to 59 char-
  1332.                           acters and must be enclosed in
  1333.                           quotation marks.
  1334.  
  1335.           nnn             Enter a number representing the   
  1336.                           color in which you want your mes-
  1337.                           sage to appear.  You must, of
  1338.                           course, have a color monitor and
  1339.                           card.  See Appendix 3.
  1340.    
  1341.    Options:
  1342.           
  1343.           /a|A[+|-]       color Attribute selection.  When the  |
  1344.                           lower-case "a" is used, input is re-  |
  1345.                           stricted to the eight "normal" color  |
  1346.                           attributes (0-7).  When the upper-case|
  1347.                           "A" is used, input is restricted to   |
  1348.                           color attributes 0-16.  Including the |
  1349.                           "+" or "-" signs after the switch will|
  1350.                           display the available colors above or |
  1351.                           below the prompt, respectively.       |
  1352.           
  1353.           /B[+|-]         fix trailing Backslash.  /B+ concat-  |
  1354.                           enates a trailing backslash to the    |
  1355.                           end of the input string if not al-    |
  1356.                           ready present.  /B- removes any trail-|
  1357.                           ing backslash present.                |
  1358.                           
  1359.  
  1360.           /C              Center output.  Include this switch   |
  1361.                           if you want your prompt message cen-  |
  1362.                           tered on the current line.            |
  1363.           
  1364.           /D              display list of available Disk drives
  1365.  
  1366.                                      Page 23
  1367.  
  1368.  
  1369.  
  1370.  
  1371.  
  1372.                           on current system and restrict input
  1373.                           to one of these letters.
  1374.           
  1375.           /Exxxxxx        Execute command.  Instead of returning|
  1376.                           errorlevel, accept text input which is|
  1377.                           supplied to command "xxxxxx."         |
  1378.           
  1379.           /F[nn]          Fixed input field of length nn.  INPUT|
  1380.                           will display a fixed, editable input  |
  1381.                           field of length nn for accepting data.|
  1382.                           Cursor arrow, insert/delete, home/end,|
  1383.                           and TAB keys are active in this field.|
  1384.                           If used in conjunction with the /M    |
  1385.                           switch, the current value for the en- |
  1386.                           vironment variable (if any) is dis-   |
  1387.                           played in the field as a default.     |
  1388.                           When this switch is used, TWO color   |
  1389.                           values may be specified.  If more than|
  1390.                           one is used, the FIST is the color of |
  1391.                           the input field, and the second is the|
  1392.                           color of the prompt.                  |
  1393.                           
  1394.           /H or /?        display brief Help screen.
  1395.           
  1396.           /I              use this for a case-Insensitive error
  1397.                           level return.  If this switch is
  1398.                           included on the command line, pressing
  1399.                           a letter a-z (lower case) will return
  1400.                           the same value as if the corresponding
  1401.                           key A-Z (upper case) were pressed.
  1402.           
  1403.           /Kxxxx          restrict Keypress.  When followed by  |
  1404.                           a list of characters, INPUT will only |
  1405.                           accept those characters, issuing a    |
  1406.                           warning tone when any other key (ex-  |
  1407.                           cept ESC) is pressed.  The errorlevel |
  1408.                           value returned will equal the ordinal |
  1409.                           position of the selected character in |
  1410.                           the list.                             |
  1411.           
  1412.           /Ln             Leftmost column in which prompt should
  1413.                           appear.
  1414.           
  1415.           /Mxxxxxx        receive text input and set Master en-
  1416.                           vironment variable xxxxxx with data 
  1417.                           received.  Defaults to variable name 
  1418.                           of INPUT if no name is provided.
  1419.           
  1420.           /Oxxxxx         cOncatenate "xxxxxx" to end of data   |
  1421.                           entered.  Valid only for string input |
  1422.                           options /M and /F.  Adds the specified|
  1423.                           characters to the end of the value en-|
  1424.                           tered by the user.  If you must in-   |
  1425.                           clude spaces, enclose the whole switch|
  1426.  
  1427.                                      Page 24
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.                           in quotes.                            |
  1434.                           
  1435.           /Pd             Pause 10 seconds for user input, then 
  1436.                           default to "d" (where "d" is any char-
  1437.                           acter.  INPUT will wait up 10 seconds 
  1438.                           for user input.  If no key is pressed 
  1439.                           within 10 seconds, INPUT will act as  
  1440.                           if the key specified by the key rep-  
  1441.                           resented by the single character "d"  
  1442.                           was pressed.  Note that all other     
  1443.                           switches (case insensitivity, yes/no  
  1444.                           answer, etc.) remain active if time   
  1445.                           expires and the default key is used.  
  1446.                           INPUT adds a warning that it will de- 
  1447.                           fault to the specified value after 10 
  1448.                           seconds, and will display a succession
  1449.                           of ten dots to indicate elapsed time. 
  1450.                           
  1451.           /Q              Quiet mode.  Suppresses the audible
  1452.                           alarm prompt.
  1453.           
  1454.           /Rn             Row in which prompt should appear.
  1455.                           
  1456.           /S              Show keypress.  Adding this switch
  1457.                           will cause INPUT to display the
  1458.                           errorlevel value returned.  Use this
  1459.                           for quick "debugging" of your use
  1460.                           of INPUT
  1461.           
  1462.           /V              instead of a single keypress, causes  
  1463.                           INPUT to read a numeric Value (con-   
  1464.                           cluded with a carriage return) between
  1465.                           0 and 255 from the keyboard.  Values
  1466.                           less than 0 will return 0 and values
  1467.                           greater than 255 will return 255.
  1468.                           
  1469.           /Wn             when used in conjunction with the /P
  1470.                           switch, changes the default Wait time
  1471.                           to n seconds, where n is no greater
  1472.                           than 999 seconds.
  1473.           
  1474.           /X              When used in conjunction with the /W 
  1475.                           and/or /P switches will suppress dis-
  1476.                           play of the default value and timer  
  1477.                           "ticks."
  1478.                           
  1479.           /Y              use this for a Yes-no only response.  
  1480.                           If the "n" key is pressed, errorlevel 
  1481.                           of "0" is returned; pressing any other
  1482.                           key returns an errorlevel of 1.  The  
  1483.                           prompt "(Y/n)" is appended to the nor-
  1484.                           mal prompt specified by the user.     
  1485.                           
  1486.           /N              Use this for a yes-No only response.  
  1487.  
  1488.                                      Page 25
  1489.  
  1490.  
  1491.  
  1492.  
  1493.  
  1494.                           If the "y" key is pressed, errorlevel 
  1495.                           of "1" is returned; pressing any other
  1496.                           key returns an errorlevel of 0.  The  
  1497.                           prompt "(y/N)" is appended to the nor-
  1498.                           mal prompt specified by the user.     
  1499.                           This switch takes precedence over the 
  1500.                           /y switch.                            
  1501.                           
  1502.           The command line parameters may be entered in any 
  1503.           order, may be in any case, and may be preceded by 
  1504.           either the "/" or "-" character.     
  1505.  
  1506. Examples:
  1507.  
  1508.      INPUT "Select a number from one to 10"
  1509.  
  1510.      This prints the text "Select on number from one to 10"
  1511. on the current line and waits for a keypress.
  1512.  
  1513.      INPUT "Press any key to continue" 79
  1514.  
  1515.      This prints the text "Press any key to continue" on the
  1516. current line in bright white on a red background and waits
  1517. for a keypress.
  1518.  
  1519.      INPUT "Press the space bar to exit" 143 /c
  1520.  
  1521.      This prints the text "Press the space bar to exit" cen-
  1522. tered on the current line in flashing bright white on a black
  1523. background.
  1524.  
  1525.      INPUT /s /i "Press any key..." /c 14
  1526.      
  1527.      Prompts user with "Press any key..." in yellow on black.
  1528. Returns a case-insensitive errorlevel and displays it on the
  1529. screen before terminating.
  1530.  
  1531.      INPUT "Do you wish to continue?" /s 79 /y              
  1532.      
  1533.      Prompts user with "Do you wish to continue? (Y/n)" in 
  1534. white on red.  Returns errorlevel of 1 unless the "n" key is
  1535. pressed.  Displays errorlevel on screen.
  1536.  
  1537.      INPUT "Press any key..." /pf                               
  1538.      
  1539.      Prompts user with "Press any key... (defaults to f after 
  1540. 10 seconds)" in black on white.  Returns errorlevel of 102 if   
  1541. no key is pressed within 10 seconds, otherwise returns value of 
  1542. key pressed.
  1543.  
  1544.      INPUT "Press any key..." /c /pf                         
  1545.      
  1546.      Prompts user with "Press any key... (defaults to f after   
  1547. 10 seconds)" in black on white.  Returns errorlevel of 70 if no 
  1548.  
  1549.                                      Page 26
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555. key is pressed within 10 seconds, otherwise returns the upper   
  1556. case ASCII value of the key pressed.                           
  1557.  
  1558.      INPUT "Enter data:" /p1 /w15 /q 30
  1559.      
  1560.      Prompts user with "Enter data: (defaults to 1 after 15
  1561. seconds)" in yellow on blue.  Returns errorlevel of 49 if no
  1562. key is pressed after 15 seconds, otherwise returns the error-
  1563. level of the key pressed.  The alarm does NOT sound.
  1564.  
  1565.      INPUT "How many copies should be printed? " /v /c
  1566.      
  1567.      Prompts user with "How many copies should be printed?"
  1568. centered on the current line.  A number can be entered by the
  1569. user and INPUT will return an errorlevel equal to the number
  1570. entered (between 0 and 255).  If the /V switch is used, the
  1571. data entered by the user will appear on screen, and can be
  1572. changed using backspace before pressing <Return>.
  1573.  
  1574.      INPUT "Press any key to continue..." /p /x
  1575.      
  1576.      Displays the familiar DOS PAUSE message, but exits after
  1577. a 10 second delay if no key is pressed.  An errorlevel of 0 is
  1578. returned.
  1579.  
  1580.      INPUT "Switch to which drive?" /D
  1581.      
  1582.      Displays prompt "Switch to which drive?" followed by a
  1583. list of all valid drives on the system.  Will not exit until
  1584. one of these drive letters is pressed.
  1585.  
  1586.      INPUT "Enter a directory mask " /Edir /C
  1587.      
  1588.      Centers prompt "Enter a directory mask " on screen.  Exe-
  1589. cutes DOS "dir" command, using any text entered in response to
  1590. prompt as arguments.  For example, if user typed "*.exe /p" the
  1591. command "dir *.exe /p" will be executed by INPUT.  This allows
  1592. INPUT to be used to enter limited string data.
  1593.  
  1594.     INPUT "Enter a file name: " /MFILENAME
  1595.     
  1596.     Accepts text data from keyboard and places value entered
  1597. in the master environment in a variable named "filename."  This
  1598. value can later be accessed within a batch file or via other
  1599. programs.
  1600.  
  1601.      INPUT "New PATH: " /MPATH /F60                             |
  1602.      
  1603.    Displays the current PATH setting in a fixed-length field 60 |
  1604. characters wide.  It may then be edited and saved by pressing   |
  1605. ENTER.                                                          |
  1606.  
  1607.      INPUT "Select an option: " /KABC                           |
  1608.  
  1609.  
  1610.                                      Page 27
  1611.  
  1612.  
  1613.  
  1614.  
  1615.  
  1616.    Returns an errorlevel of 1 if A is pressed, 2 if B, and 3 if |
  1617. C is pressed.  Sounds a beep if any other key is pressed and    |
  1618. waits for valid keypress or ESC.                                |
  1619.  
  1620.    INPUT will also sound an alarm to let the user know that
  1621. a response is expected (unless /Q switch specified).
  1622.  
  1623.    When a key is pressed, INPUT will set the errorlevel equal
  1624. to the ASCII value of the key pressed.  This is slightly dif-
  1625. ferent from BATBOX in that in normal operation INPUT is case
  1626. sensitive and will allow you to distinguish between upper and
  1627. lower case letters.  If you want a case-insensitive return, use
  1628. the /i switch.  See Appendix 2 for a complete list of the ASCII
  1629. characters theoretically supported by INPUT.  If the /H or /?
  1630. parameter was specified, the errorlevel returned will be 255.
  1631.  
  1632.    If the ESC key is pressed, an errorlevel of 254 will be re-
  1633. turned.
  1634.  
  1635.    When using the /E parameter to execute a batch file, be sure
  1636. to include the extension ".BAT" as part of the switch.
  1637.  
  1638.    When using the /M switch to set an environment variable, the
  1639. variable name you supply will be converted to upper case.  DOS
  1640. will only recognize upper case variables within batch files.
  1641.  
  1642.    When using the /M switch in conjunction with /Y or /N, the
  1643. variable will be assigned a value of YES or NO as appropriate.
  1644.  
  1645.    SPECIAL NOTE TO 4DOS* and NDOS USERS                         |
  1646.    
  1647.    INPUT.EXE conflicts with 4DOS' INPUT internal command.  To
  1648. remedy this situation, create a batch file containing the two
  1649. lines below (or add them to your AUTOEXEC.BAT file) and execute
  1650. once each time your computer is turned on:
  1651.  
  1652.      alias input d:\path\input.exe
  1653.      alias inp4 *input
  1654.      
  1655.    The first line creates an alias of "input" for the program 
  1656. INPUT.EXE.  The second line creates an alias of "inp4" for the
  1657. internal 4DOS INPUT command.  Make sure the "d:\path\" part of
  1658. the first line is replaced with the actual drive/path in which
  1659. INPUT.EXE is located on your system.  Since INPUT performs many
  1660. more functions than the 4DOS command, it is desirable to
  1661. avoid any confusion and simply replace 4DOS' INPUT command.
  1662.  
  1663. * 4DOS is a registered trademark of JP Software Inc.
  1664.  
  1665.  
  1666.  
  1667.  
  1668.  
  1669.  
  1670.  
  1671.                                      Page 28
  1672.  
  1673.  
  1674.  
  1675.  
  1676.  
  1677. KLS 2.2                                                         |
  1678. Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  1679.  
  1680.    KLS is a simple replacement for the DOS screen-clearing
  1681. function (CLS).  
  1682.  
  1683. Usage:       KLS [color] [/Bn] [/V] [/X | /N] [/H]              |
  1684.  
  1685.           color           A number from the list below:
  1686.  
  1687.                                  0 - Black
  1688.                                  1 - Blue
  1689.                                  2 - Green
  1690.                                  3 - Cyan
  1691.                                  4 - Red
  1692.                                  5 - Magenta
  1693.                                  6 - Brown
  1694.                                  7 - White
  1695.           
  1696.           /Bn            Change border to color n, where n:
  1697.           
  1698.                                  0 - Black
  1699.                                  1 - Blue         
  1700.                                  2 - Green        
  1701.                                  3 - Cyan         
  1702.                                  4 - Red          
  1703.                                  5 - Magenta      
  1704.                                  6 - Brown        
  1705.                                  7 - White        
  1706.                                  8 - Grey         
  1707.                                  9 - Bright blue  
  1708.                                 10 - Light green  
  1709.                                 11 - Light cyan   
  1710.                                 12 - Light red    
  1711.                                 13 - Light magenta
  1712.                                 14 - Yellow       
  1713.                                 15 - Bright white 
  1714.           
  1715.           /V             Verbose report                         |               
  1716.            
  1717.           /X             Enter extended video mode (43 lines
  1718.                          for EGA, 50 lines for VGA).
  1719.           
  1720.           /N             Return to normal 25-line mode.
  1721.           
  1722.           /H | /?        Display brief help screen.
  1723.                                  
  1724. Examples:
  1725.      
  1726.      KLS 4                Clears the screen & paints it red.
  1727.      
  1728.      KLS 6                Clears the screen & paints it brown.
  1729.      
  1730.  
  1731.                                      Page 29
  1732.  
  1733.  
  1734.  
  1735.  
  1736.  
  1737.      KLS /B4              Turns border magenta.                 
  1738.      
  1739.      KLS /B1 6            Clears screen & paints it brown with 
  1740.                           a blue border.
  1741.      
  1742.      KLS /4 /B4 /E        Clears screen, sets screen to 43- or
  1743.                           50-line mode, and paints screen and 
  1744.                           border red.
  1745.      
  1746.      KLS /N               Clears screen, returning it to 25-
  1747.                           line mode and default color.
  1748.      
  1749. When the screen is cleared, it will be set to the color indi-
  1750. cated on the command line.  Entering KLS without parameters
  1751. is the same as issuing CLS (i.e., clear screen without color).
  1752. "KLS 0" is useful if you have used ANSI or some other method
  1753. to set your screen to a color other than black, but you want
  1754. a black screen temporarily.
  1755.  
  1756.    The /B switch, by itself, does NOT clear the screen.  Some-
  1757. times you will want to reset the border color without erasing
  1758. what is on the screen (such as when a "misbehaved" program
  1759. changes the color of your screen border and does not reset it).
  1760.  
  1761.    KLS also detects the type of video display card installed
  1762. and returns errorlevel codes as shown below:
  1763.    
  1764.      0 - monochrome display adapter (MDA)
  1765.      1 - color graphic adapter (CGA)
  1766.      2 - extended graphics adapter (EGA)
  1767.      3 - video graphics array (VGA)
  1768.      4 - multi-color graphics adapter (MCGA)
  1769.      5 - Hercules graphics adapter
  1770.      
  1771.     When the /V switch, a brief screen message describing the   |
  1772. installed video card is displayed.                              |
  1773.      
  1774.    If you make an error (specify an invalid color value), KLS
  1775. will sound a tone return an errorlevel of 255.
  1776.  
  1777.  
  1778.  
  1779.  
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.  
  1786.  
  1787.  
  1788.  
  1789.  
  1790.  
  1791.  
  1792.                                      Page 30
  1793.  
  1794.  
  1795.  
  1796.  
  1797.  
  1798. LAUNCHER.EXE 2.61
  1799. Copyright 1991,1992 Chuck Steenburgh & Tay-Jee Software
  1800.  
  1801.    Do some of your programs require you to load a data file
  1802. once you start the program?  Are these data files located in
  1803. a different directory, or do you have to enter several cryptic 
  1804. commands to get your program to load a data file?  LAUNCHER is
  1805. designed to work with any program that can accept the name of
  1806. a data file on the command line.  LAUNCHER will display a
  1807. menu of your data files, and then start your application with
  1808. the name of the file you select on the command line to be
  1809. loaded immediately.
  1810.  
  1811.    LAUNCHER uses a rather novel method of automatically de-
  1812. termining the name of the application you are going to use
  1813. it with.  Rather than needing a configuration file or compli-
  1814. cated command line switches, LAUNCHER reads the application
  1815. name from its own file name.  Rename the LAUNCHER.EXE file
  1816. after the application you want to run, PLUS ANY ONE ADDITIONAL
  1817. CHARACTER.  Put this renamed version of launcher in the same
  1818. directory as your application, and you're ready to LAUNCH!
  1819. Optionally, LAUNCHER will use a more traditional means of 
  1820. of specifying the name of your application program through the
  1821. use of the /E switch described below.
  1822.  
  1823. Usage:       NEWNAME [path:\]filespec [/B] [/Cnnn] [/E:filename]
  1824.                      [/F] [/H | /?] [/N] [\parms]               |
  1825.                      
  1826.           NEWNAME         This is the new name which you have
  1827.                           given to LAUNCHER.EXE, based on the
  1828.                           name of your application.  (It is
  1829.                           not required for you to rename the
  1830.                           LAUNCHER.EXE file if you use the /E
  1831.                           switch).
  1832.  
  1833.           path:\          Optional drive and/or path for data
  1834.                           files.
  1835.  
  1836.           filespec        This filespec designates what files
  1837.                           are to be displayed by LAUNCHER.
  1838.                           You may include a drive and/or dir-
  1839.                           ectory name, and wildcards (? *).
  1840.           
  1841.           /B              Write command generated to a file 
  1842.                           named LAUNCHME.BAT rather than exec-
  1843.                           uting immediately.  This method MUST
  1844.                           be used when launching batch file app-
  1845.                           lications.
  1846.           
  1847.          /Cnnn            Specify color.  Normally, LAUNCHER
  1848.                           uses a bright white on black display
  1849.                           scheme.  Specify a color to use with
  1850.                           the numeric value nnn, where nnn is 
  1851.                           between 0 and 127.  See Appendix 3  
  1852.  
  1853.                                      Page 31
  1854.  
  1855.  
  1856.  
  1857.  
  1858.  
  1859.                           color calculation.
  1860.  
  1861.           /E:filename     Optional parameter to specify the name
  1862.                           of your application.  You may include
  1863.                           your application's complete path if
  1864.                           necessary.
  1865.  
  1866.           /F              Include only file names on command
  1867.                           line.  Normally, LAUNCHER will in-
  1868.                           clude any path you have specified
  1869.                           on the command line string built.
  1870.                           Use this switch if your application
  1871.                           does not require the path name.
  1872.  
  1873.          /H or /?         Displays help screen.
  1874.          
  1875.          /N               Use 25-line display mode (EGA/VGA)    |
  1876.  
  1877.          \parms           Enter any additional command line     
  1878.                           parameters you would like to use with 
  1879.                           your application program, prefaced    
  1880.                           with a backslash.  ALL parameters that
  1881.                           come AFTER the backslash will be pas- 
  1882.                           sed to your application (and ignored  
  1883.                           by LAUNCHER).
  1884.  
  1885. Examples:
  1886.  
  1887.      WPI b:\wp\*.doc      This will LAUNCH Word Perfect
  1888.                           (WP.EXE) after displaying all files
  1889.                           in the B:\WP subdirectory with the
  1890.                           extension .DOC.  This assumes that
  1891.                           you have renamed LAUNCHER.EXE as
  1892.                           WPI.EXE and that this file is in the
  1893.                           same directory as Word Perfect.
  1894.  
  1895.      WSI c:\ws\*.doc /f   LAUNCHES WordStar (WS.EXE) from
  1896.                           data files in directory c:\ws\docs.
  1897.                           DOES NOT include the path when
  1898.                           LAUNCHING WordStar.  (Assumes that
  1899.                           c:\ws is set up as your default
  1900.                           files directory in WSCHANGE.)
  1901.  
  1902.      WSI *.doc /n         LAUNCHES WordStar using a data file
  1903.                           selected from those in the current
  1904.                           directory matching the filespec
  1905.                           *.doc.  It includes the "/n" param-
  1906.                           eter (nondocument mode) when starting
  1907.                           WordStar.
  1908.  
  1909.      WP1 *.txt /C30       LAUNCHES WordPerfect using a data
  1910.                           selected from those meeting file spec
  1911.                           *.txt.  Displays menu in yellow on
  1912.                           a blue background.
  1913.  
  1914.                                      Page 32
  1915.  
  1916.  
  1917.  
  1918.  
  1919.  
  1920.      
  1921.      LAUNCHER *.WKS /e:C:\123\123.BAT                           
  1922.      
  1923.                           Writes a batch file named LAUNCHME.BAT
  1924.                           which will load Lotus 1-2-3 with the  
  1925.                           selected .WKS as a data file.
  1926.      
  1927.      LAUNCHER *.* /e:C:\DOS\EDIT.COM \/b /h                     |
  1928.      
  1929.                           Writes a LAUNCHME.BAT file which will |
  1930.                           load the selected file into DOS' EDIT |
  1931.                           program, using the /b and /H switches |
  1932.                           for EDIT.                             |
  1933.  
  1934.    After running LAUNCHER, you will see a display of files
  1935. meeting the filespec you have supplied appear on the screen.
  1936. Files will be listed alphabetically from left to right and top
  1937. to bottom.  The first file will be highlighted in reverse video.
  1938. Use the four cursor movement keys (arrow keys), position the
  1939. highlight bar over the name of the file you would like loaded
  1940. into your application, then press enter.  LAUNCHER will then
  1941. build a command line which includes the file just selected.  If
  1942. you press the ESC key instead of enter, your application will
  1943. be started WITHOUT a data file.  If no files were found that
  1944. matched the filespec, LAUNCHER will terminate without loading
  1945. the application and set the DOS errorlevel to 1.
  1946.  
  1947.    Some programs that require very large amounts of memory, 
  1948. such as Quattro Pro by Borland, will not work properly when
  1949. LAUNCHED.  If at all possible, when using LAUNCHER, configure
  1950. your applications so that they use as little memory as pos-
  1951. sible.  Most word processing programs do not need special con-  
  1952. figuration, as they can run in 512K or less of memory.  The     
  1953. reason for this limitation is that LAUNCHER remains in memory
  1954. when your application is LAUNCHED, taking up about 30k of    
  1955. memory.  Use of the /B switch makes it possible for much larger
  1956. programs to be LAUNCHED.
  1957.  
  1958.    Version 2.6 now correctly runs batch file applications.  To
  1959. ensure proper performance, you should only run batch file app-
  1960. lications using both the /E and /B switches.  See the demo file
  1961. SAMPLE.BAT for an example of how to "automatically" LAUNCH pro-
  1962. grams using the /B switch.
  1963.  
  1964.  
  1965.  
  1966.  
  1967.  
  1968.  
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.                                      Page 33
  1976.  
  1977.  
  1978.  
  1979.  
  1980.  
  1981. MUSIC.EXE 2.01
  1982. Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  1983.  
  1984.     For some time now I have wanted an inexpensive way to 
  1985. play short tunes on my PC.  While there are many music pro-
  1986. grams available, they usually require expensive hardware, 
  1987. large memory overhead, too much musical knowledge, or custom-
  1988. made musical files that you had to buy from somebody.  Des-
  1989. perate, I finally decided to write my own program!
  1990.  
  1991. Usage:       MUSIC [file[.CM1]] [/d] [/r] [/s] [/v]             |
  1992.     
  1993.           file            The name of a music file with
  1994.                           extension .CM1 which contains
  1995.                           the transcribed music to be
  1996.                           played.  Extension is optional.
  1997.                           
  1998.           /d              Optional parameter specifying
  1999.                           "debug" mode.  The line number
  2000.                           of each note in the .CM1 file
  2001.                           will be displayed as it is
  2002.                           played.  This is useful in lo-
  2003.                           cating errors in the music file.
  2004.           
  2005.           /r              When used alone on the command line,  
  2006.                           indicates random play mode.  MUSIC    
  2007.                           will search the current directory for 
  2008.                           all music files present, and will     
  2009.                           select one to be played at random.
  2010.          
  2011.          /s               Singalong mode.  Displays musical     |
  2012.                           scale and "bouncing note" in time     |
  2013.                           with music.  For files with lyrics,   |
  2014.                           the words will be displayed in time   |
  2015.                           with the music also.  Cannot be used  |
  2016.                           in conjunction with /v switch.        |
  2017.          
  2018.          /v               Vidoe display mode.  Shows flashing   |
  2019.                           musical notes randomly scattered      |
  2020.                           across the screen, in time with the   |
  2021.                           music.  Cannot be used in conjunction |
  2022.                           with the /s switch.                   |
  2023.  
  2024. Examples:
  2025.  
  2026.      MUSIC    dixie2.cm1  Plays the song "Dixie" encoded
  2027.                           in the file DIXIE2.CM1 (this
  2028.                           file included with the STUFF).
  2029.                           
  2030.      MUSIC    dixie2 /d   Plays "Dixie" and displays the
  2031.                           line number of each note as it
  2032.                           is played.
  2033.      
  2034.      MUSIC    /r          Plays at random one of the music
  2035.  
  2036.                                      Page 34
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.                           files in the current directory.
  2043.      
  2044.      MUSIC    /r /s       Plays a random song, displaying       |
  2045.                           musical scale and lyrics.             |
  2046.  
  2047.    When MUSIC is entered alone on the command line with no
  2048. parameters, a brief help screen is displayed.
  2049.  
  2050.    MUSIC returns errorlevel values as shown below:
  2051.  
  2052.      0   Normal termination
  2053.      1   Invalid music file
  2054.      2   Other error (invalid note, no files present, help)
  2055.      3   No .CM1 files found (with /r switch)                   |
  2056.      4   /S and /V switches used together                       |
  2057.  
  2058.    For information on how to create your own music files, see
  2059. Appendix 4 and use the sample files as a guide.
  2060.  
  2061.  
  2062.  
  2063.  
  2064.  
  2065.  
  2066.  
  2067.  
  2068.  
  2069.  
  2070.  
  2071.  
  2072.  
  2073.  
  2074.  
  2075.  
  2076.  
  2077.  
  2078.  
  2079.  
  2080.  
  2081.  
  2082.  
  2083.  
  2084.  
  2085.  
  2086.  
  2087.  
  2088.  
  2089.  
  2090.  
  2091.  
  2092.  
  2093.  
  2094.  
  2095.  
  2096.  
  2097.                                      Page 35
  2098.  
  2099.  
  2100.  
  2101.  
  2102.  
  2103. RAND 2.0
  2104. Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  2105.  
  2106.    RAND provides simple random number generating capabilities
  2107. for batch files.  RAND returns a random number in the form of
  2108. the DOS errorlevel, which you can then evaluate in your batch
  2109. files.
  2110.        
  2111. Usage:        RAND [max value] | [/f]
  2112.  
  2113.           max value       Upper limit of random number range.
  2114.                           RAND will generate an errorlevel
  2115.                           between 1 and this number.  The de-
  2116.                           fault is 100.  The maximum is 255.
  2117.           
  2118.           /f              Rand will generate a unique file name |
  2119.                           and display it.  This name can be re- |
  2120.                           directed via DOS as input to another  |
  2121.                           command or program.                   |
  2122.                           
  2123. Examples:
  2124.  
  2125.      RAND                 Generates a random errorlevel be-
  2126.                           tween 1-100.
  2127.                           
  2128.      RAND 10              Generates a random errorlevel be-
  2129.                           tween 1-10.
  2130.      
  2131.      RAND /F              Generates a unique file name          |
  2132.                           
  2133.    If the max value specified is greater than 255 or less than
  2134. 1, RAND sets the errorlevel to 0.
  2135.         
  2136.  
  2137.  
  2138.  
  2139.  
  2140.  
  2141.  
  2142.  
  2143.  
  2144.  
  2145.  
  2146.  
  2147.  
  2148.  
  2149.  
  2150.  
  2151.  
  2152.  
  2153.  
  2154.  
  2155.  
  2156.  
  2157.  
  2158.                                      Page 36
  2159.  
  2160.  
  2161.  
  2162.  
  2163.  
  2164. SKIP.EXE
  2165. Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  2166.  
  2167.    ECHO does not permit you to enter blank lines in batch 
  2168. files.  While there are various tricks to accomplish this, 
  2169. and a number of small .COM programs to accomplish this task, 
  2170. you must still enter a separate command for each blank line.
  2171.  
  2172. Usage:       SKIP [lines]
  2173.  
  2174.           lines           The number of lines you would like
  2175.                           to skip; the default is one.
  2176.  
  2177. Examples:
  2178.  
  2179.      SKIP                 Skips a single line
  2180.  
  2181.      SKIP 5               Skips five lines.
  2182.  
  2183.    SKIP sets the errorlevel equal to the number of lines skipped.
  2184.         
  2185.          
  2186.  
  2187.  
  2188.  
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.                                      Page 37
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226. SOUNDER.EXE 3.1                                                 |
  2227. Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software         |
  2228.        
  2229.    SOUNDER is an advanced replacement for any number of util-
  2230. ities (with names like BEEP.COM or MUSIC.COM).  Most of these
  2231. programs make a simple noise or maybe play a short melody.
  2232. Most restrict you to the same monotonous tones over and over
  2233. again.  SOUNDER presents you with a virtually unlimited range
  2234. of options which you can control, with ZILLIONS (up to 10 to
  2235. the 400th power!) of possible tone sequences.
  2236.        
  2237. Usage:       SOUNDER  [note] [dur] or
  2238.              SOUNDER  [/Ln] [/Rn] [/Tn [+] or
  2239.              SOUNDER  [/En] [/F]                                |
  2240.        
  2241.           note            A musical note (A,B,C,D,E,F,G).
  2242.        
  2243.           dur             Duration of tone or note in seconds.  |
  2244.                           Must be a whole number between 1-9.   |
  2245.  
  2246.           /Ln             Base length for random play.  Spec-
  2247.                           ify the base length of the series of
  2248.                           random tones desired in tenths of a
  2249.                           second, where "n" is the desired tone
  2250.                           length.  0 < n <= 300.
  2251.           
  2252.           /Rn             Repeat random tone sequences "n" num-
  2253.                           ber of times. 0 < n <= 20.
  2254.           
  2255.           /Tn             Specify range of random number of
  2256.                           tones.  1 to n random tones will be
  2257.                           generated per cycle.  0 < n <= 10.
  2258.           
  2259.           +               Make number of tones specified by /T
  2260.                           switch absolute.
  2261.           
  2262.           /En             Use special sound effect number n,    |
  2263.                           where n is one the following four     |
  2264.                           types of sound effects:               |
  2265.                           
  2266.                                1 - increasing pitch             |
  2267.                                2 - decreasing pitch             |
  2268.                                3 - up-down wail                 |
  2269.                                4 - down-up wail                 |
  2270.                               
  2271.           /F              Use in conjunction with /E on very    |
  2272.                           fast PCs to slow down the sounds.     |
  2273.  
  2274.    The default is for SOUNDER to generate 1-3 random tones with
  2275. an overall tone length of approximately 2/3 second.
  2276.        
  2277. Examples:
  2278.        
  2279.  
  2280.                                      Page 38
  2281.  
  2282.  
  2283.  
  2284.  
  2285.  
  2286.      sounder              Produces 1-3 random tones for a total
  2287.                           length of approximately 2/3 second.
  2288.        
  2289.      sounder C 2          Produces a 'C' note for two seconds.
  2290.        
  2291.      sounder /T5          Produces 1-5 random tones for a total
  2292.                           length of approximately 2/3 second.
  2293.                           
  2294.      sounder /T5 /L20     Produces 1-5 random tones for a total
  2295.                           length of 2 seconds.
  2296.                           
  2297.      sounder /T5 /L20 +   Produces 5 random tones with a length
  2298.                           of 0.4 second each.
  2299.                           
  2300.      sounder /T10 /R3     Produces 3 separate sequences of 1-10
  2301.                           random tones, each of approximately
  2302.                           2/3 second length.
  2303.      
  2304.      sounder /T10 /R10 +  Produces 100 random tones lasting a
  2305.                           total of approximately 6.7 seconds.
  2306.      
  2307.      sounder /E1          Produces increasing pitch sound.      |
  2308.      
  2309.      sounder /E3 /F       Produces up-down wailing sound on a   |
  2310.                           very fast computer (386 or better).   |
  2311.  
  2312.    SOUNDER returns the following errorlevel codes:
  2313.        
  2314.      0      Musical note sounded
  2315.     1-10    Number of random tones sounded (last cycle only)
  2316.     255     Error in note specification/help screen requested   |
  2317.     
  2318.       
  2319.  
  2320.  
  2321.  
  2322.  
  2323.  
  2324.  
  2325.  
  2326.  
  2327.  
  2328.  
  2329.  
  2330.  
  2331.  
  2332.  
  2333.  
  2334.  
  2335.  
  2336.  
  2337.  
  2338.  
  2339.  
  2340.  
  2341.                                      Page 39
  2342.  
  2343.  
  2344.  
  2345.  
  2346.  
  2347.  
  2348. SPACE Version 1.1
  2349. Copyright 1992 by Chuck Steenburgh & Tay-Jee Software
  2350.  
  2351.    SPACE combines the functions of the old utilities FREEDISK
  2352. and HOWMUCH.  Use SPACE to:
  2353.  
  2354.      - report the amount of free and total space available on
  2355.        a disk
  2356.       
  2357.      - report the total size of a group of files
  2358.      
  2359.      - check to see if there is enough space for a group of
  2360.        files on a particular disk
  2361.  
  2362. Usage:       SPACE [filespec] [d:] [/sk | /sb] [/c] [/h | /?]
  2363.  
  2364.           filespec        Specification (including path if de-
  2365.                           sired) of group of files whose size
  2366.                           you want to report.
  2367.           
  2368.           d:              Target disk drive
  2369.           
  2370.           /sk             Report size in kilobytes (screen re-
  2371.                           ports only)
  2372.           
  2373.           /sb             Report size in bytes (screen reports
  2374.                           only)
  2375.           
  2376.           /c              Center screen output lines
  2377.           
  2378.           /h or /?        Display help screen
  2379.  
  2380. Examples:
  2381.  
  2382.      SPACE *.*            Reports the size (in megabytes) of all
  2383.                           files in the current directory.
  2384.      
  2385.      SPACE C: /sb         Reports the amount of total and avail-
  2386.                           able disk space (in kilobytes) on
  2387.                           drive C.
  2388.      
  2389.      SPACE *.exe b: /sb   Reports the size (in bytes) of all .EXE
  2390.                           files in the current directory; the to-
  2391.                           tal and available space on drive B; and
  2392.                           the amount of space on drive B needed
  2393.                           to hold the specified files.
  2394.  
  2395.    The default is to display all file and space sizes in mega-
  2396. bytes.
  2397.  
  2398.    SPACE is most useful in automating file copying tasks.  If
  2399. you are using a RAM disk to copy program files and overlays
  2400. to for faster execution, use SPACE to make sure there is
  2401.  
  2402.                                      Page 40
  2403.  
  2404.  
  2405.  
  2406.  
  2407.  
  2408. sufficient room on the disk before copying.  The batch file
  2409. SAFECOPY.BAT uses the DOS XCOPY command to safely copy files
  2410. to a new disk, making sure enough room is available.
  2411.    
  2412.    DOS allocates disk space in fixed units known as "clusters"
  2413. whose size is dependent upon the version of DOS used and the 
  2414. size and type of the disk.  For example, most floppy disks use 
  2415. a cluster size of 1,024 bytes (1 kilobyte).  A file that is only
  2416. 100 bytes long will still occupy 1,024 bytes of space (1 full
  2417. cluster) on a floppy disk.  A file that is 1,025 bytes long will
  2418. occupy TWO 1,024-byte clusters.  This unused space at the end
  2419. of a file is known as "slack space."  When both a filespec and
  2420. a target drive are specified for SPACE, the actual amount of
  2421. space needed by the specified files on the target drive will
  2422. be displayed, as well as the percentage of slack space.
  2423.  
  2424.    SPACE returns one of three distinct errorlevel ranges, de-
  2425. pending on what combination of switches was chosen.  If only
  2426. a filespec was included on the command line, the errorlevel is
  2427. set equal to the total size of the specified files, in 10k
  2428. increments.  If only a target drive was specified, the amount
  2429. of free space (again in 10k increments) is returned via the
  2430. errorlevel.  Finally, if both a filespec and a target drive
  2431. are specified, an errorlevel of 1 indicates that not enough
  2432. disk space is available, whereas an errorlevel of 0 indicates
  2433. sufficient space is available.  An errorlevel of 255 indicates
  2434. that the help screen was displayed or an error condition.  An
  2435. errorlevel of 254 indicates an overflow (i.e., files total
  2436. more than 2.53 megabytes or more than 2.53 megabytes are
  2437. available on the target drive).
  2438.  
  2439.  
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.  
  2446.  
  2447.  
  2448.  
  2449.  
  2450.  
  2451.  
  2452.  
  2453.  
  2454.  
  2455.  
  2456.  
  2457.  
  2458.  
  2459.  
  2460.  
  2461.  
  2462.  
  2463.                                      Page 41
  2464.  
  2465.  
  2466.  
  2467.  
  2468.  
  2469. WAITFOR.EXE
  2470. Copyright 1991 by Chuck Steenburgh & Tay-Jee Software
  2471.  
  2472.    Did you ever notice that if you want a batch file to wait
  2473. for you, you have to use PAUSE?  This requires you to press
  2474. a key.  This may not be convenient at the moment, such as
  2475. when you're talking on two phones at once and your batch file
  2476. is patiently waiting for you to tell it to print those files
  2477. your boss is impatient for.  WAITFOR will simply cause your
  2478. batch file to suspend operation for a designated number of sec-
  2479. onds and then resume.
  2480.  
  2481. Usage:       WAITFOR seconds
  2482.  
  2483.           seconds         Integer representing the number
  2484.                           of seconds you would like to
  2485.                           pause.
  2486.  
  2487.    WAITFOR sets the errorlevel equal to the number of seconds
  2488. paused.
  2489.         
  2490.  
  2491.  
  2492.  
  2493.  
  2494.  
  2495.  
  2496.  
  2497.  
  2498.  
  2499.  
  2500.  
  2501.  
  2502.  
  2503.  
  2504.  
  2505.  
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.  
  2512.  
  2513.  
  2514.  
  2515.  
  2516.  
  2517.  
  2518.  
  2519.  
  2520.  
  2521.  
  2522.  
  2523.  
  2524.                                      Page 42
  2525.  
  2526.  
  2527.  
  2528.  
  2529.  
  2530. WHENISIT 2.0                                                    |
  2531. Copyright 1991-1993 by Chuck Steenburgh & Tay-Jee Software
  2532.  
  2533.    WHENISIT is a highly flexible utility to provide control in
  2534. DOS batch files based on time and date.  With its many op-
  2535. tions, WHENISIT will allow your batch files to determine the
  2536. year, month, date, day of the week, hour, minute, second, or
  2537. whether it is morning or afternoon and make intelligent de-
  2538. cisions based on this information.  WHENISIT is also able to
  2539. perform actions once a day (such as at the first boot-up of the
  2540. day).
  2541.  
  2542.    For example, you may want certain actions performed at
  2543. boot time on certain days of the week or month.  Adding
  2544. WHENISIT to your AUTOEXEC.BAT file can allow you to make
  2545. these sort of decisions. (Or allow your computer to make them
  2546. for you automatically.)
  2547.  
  2548. Usage:
  2549.  
  2550.              WHENISIT [option] [/Evarname]                      |
  2551.          or                                                     |
  2552.              WHENISIT [hh:mm] | [dd/mm/yy]                      |
  2553.           
  2554.           where [option] is one of the following:
  2555.           
  2556.           /?              Displays help screen
  2557.              
  2558.           /a              Returns errorlevel based on am or pm.
  2559.           
  2560.           /d              Returns errorlevel equal to date.
  2561.           
  2562.           /h              Returns errorlevel equal to the hour
  2563.                           (24-hour clock).
  2564.                       
  2565.           /m              Returns errorlevel equal to month.
  2566.           
  2567.           /mi             Returns errorlevel equal to minute.
  2568.           
  2569.           /s              Returns errorlevel equal to second.
  2570.           
  2571.           /w              Returns errorlevel based on the day
  2572.                           of the week.
  2573.                           
  2574.           /y              Returns errorlevel equal to the last
  2575.                           two digits of the year.
  2576.           
  2577.           /Evarname       Set environment variable "varname"    |
  2578.                           with results of date/time check.      |
  2579.           
  2580.           hh:mm           24-hour time.
  2581.           
  2582.           mm/dd/yy        Date.
  2583.  
  2584.  
  2585.                                      Page 43
  2586.  
  2587.  
  2588.  
  2589.  
  2590.  
  2591.    Entering the time in the form hh:mm will check to see if     
  2592. the current time is equal to, before, or after the time entered.
  2593. If the current time is later than the time entered, an error-   
  2594. level of 2 is returned.  If the current time is entered, an     
  2595. errorlevel of 1 is returned.  If the time entered is later than 
  2596. the current time, an errorlevel of 0 is returned.  Entering the 
  2597. date in the form mm/dd/yy will check the current date against   
  2598. the value entered, and return an errorlevel as described above. 
  2599.                           
  2600.    Entering WHENISIT alone on the command line will generate an
  2601. errorlevel of 1 if WHENISIT has not been executed yet that day.
  2602. Otherwise, an errorlevel of 0 will be returned.  Note that if
  2603. you maintain multiple copies of WHENISIT.EXE on your system,
  2604. each copy of WHENISIT will keep track of whether or not it has
  2605. run separately from any other copies.  Be sure you know which
  2606. copy you are executing!  This is useful to put in AUTOEXEC.BAT
  2607. to indicate actions you want performed only ONCE each day, no
  2608. matter how many times you re-boot your computer.  (Once-a-day
  2609. mode)
  2610.  
  2611. Examples:
  2612.  
  2613.      WHENISIT /a          Returns errorlevel of 2 if it is pm,
  2614.                           or 1 if it is am.
  2615.                           
  2616.      WHENISIT /y          If your clock is set to the year
  2617.                           1991, returns an errorlevel of 91.
  2618.                           
  2619.      WHENISIT /w          If your clock indicates that it is
  2620.                           Tuesday, returns an errorlevel of 3.
  2621.      
  2622.      WHENISIT 12/25/91    If current date is AFTER 12/25/91,   
  2623.                           returns errorlevel of 2.  If current 
  2624.                           date is 12/25/91, returns errorlevel 
  2625.                           of 1.  If current date is earlier    
  2626.                           than 12/25/91, errorlevel of 0 is    
  2627.                           returned.                            
  2628.      
  2629.      WHENISIT             Returns errorlevel of 0 if WHENISIT
  2630.                           has already executed, 1 if not.
  2631.      
  2632.      WHENISIT /w /ETODAY  Sets the variable TODAY equal to the  |
  2633.                           day of the week, and returns an appro-|
  2634.                           priate errorlevel value.              |
  2635.                           
  2636. Errorlevel Chart:
  2637.  
  2638.      Errorlevel  Switch:  /a            /m            /w        |
  2639.      ----------         --------------------------------------
  2640.          1                AM        January         Sunday
  2641.          2                PM        February        Monday
  2642.          3                na        March           Tuesday
  2643.          4                na        April           Wednesday
  2644.          5                na        May             Thursday
  2645.  
  2646.                                      Page 44
  2647.  
  2648.  
  2649.  
  2650.  
  2651.  
  2652.          6                na        June            Friday
  2653.          7                na        July            Saturday
  2654.          8                na        August             na
  2655.          9                na        September          na
  2656.         10                na        October            na
  2657.         11                na        November           na
  2658.         12                na        December           na
  2659.         
  2660.    The errorlevels returned through the use of other switches
  2661. should be self-explanatory.
  2662.  
  2663.    The following errorlevel values indicate a syntax error:     |
  2664.    
  2665.    Errorlevel          Error                                    |
  2666.    ==========          =====                                    |
  2667.    
  2668.       250              Invalid day (within entered date)        |
  2669.       251              Invalid month (within entered date)      |
  2670.       252              Invalid year (within entered date)       |
  2671.       253              Invalid minute (within entered time)     |
  2672.       254              Invalid hour (within entered time)       |
  2673.       255              Too many arguments on command line       |
  2674.  
  2675.  
  2676.  
  2677.  
  2678.  
  2679.  
  2680.  
  2681.  
  2682.  
  2683.  
  2684.  
  2685.  
  2686.  
  2687.  
  2688.  
  2689.  
  2690.  
  2691.  
  2692.  
  2693.  
  2694.  
  2695.  
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.  
  2704.  
  2705.  
  2706.  
  2707.                                      Page 45
  2708.  
  2709.  
  2710.  
  2711.  
  2712.  
  2713. WRITE.EXE 2.5
  2714. Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  2715.  
  2716.  
  2717.    We know that ECHO has its limits, don't we?  WRITE will let
  2718. you have full control over the positioning and color of your
  2719. text messages in batch files.  Version 2.0 adds the capability
  2720. to have write display text files, similar to DOS's TYPE|MORE
  2721. combination, but in FULL color that you specify.
  2722.  
  2723. Syntax:       
  2724.  
  2725.      WRITE "Text"|@file [ccc] [/C] [/Rn] [/Ln] [/S] [/X|/N] [/H]|
  2726.  
  2727.           "Text"          This is the text to be displayed,
  2728.                           which must be enclosed in quotes if
  2729.                           it consists of more than one word.
  2730.                           
  2731.           @file           Name of file containing ASCII text to
  2732.                           be displayed.  Can be specified in
  2733.                           lieu of "Text."
  2734.                                                            
  2735.           ccc             This is the color in which to print
  2736.                           the text.  See Appendix 3.
  2737.                           
  2738.           /C              Centers text on line.
  2739.  
  2740.           /Rn             n is the row (0-24, top to bottom) on
  2741.                           which the text will appear.  The de-
  2742.                           fault is to use the current cursor
  2743.                           position.
  2744.                                                              
  2745.           /Ln             n is the column (0-79, left to right)
  2746.                           where the text will begin printing.
  2747.                           The default is to use the current cur-
  2748.                           sor position.
  2749.  
  2750.           /S              Include this switch to utilize slow
  2751.                           (BIOS) screen writes.  This will
  2752.                           suppress "snow" on some CGA displays.
  2753.           
  2754.           /X | /N         Places screen in eXtended (43/50 line)|
  2755.                           mode or Normal (25 line) mode on EGA  |
  2756.                           or VGA systems.                       |
  2757.                           
  2758.           /H              Displays brief help screen.
  2759.  
  2760. Examples:
  2761.  
  2762.      WRITE "This is my message"
  2763.      
  2764.      Displays "This is my message" on the current line in gray
  2765. on black background (same as ECHO This is my message, only
  2766. MUCH faster).
  2767.  
  2768.                                      Page 46
  2769.  
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.      WRITE "This is my message." 79
  2776.      
  2777.      Displays "This is my message." on the current line in
  2778. bright white on red background.
  2779.  
  2780.      WRITE "Hello, Chuck." /r10 /l25
  2781.      
  2782.      Displays "Hello, Chuck." on row 10, column 25, in gray on
  2783. black background.
  2784.  
  2785.      WRITE "Goodbye, Chuck." /r5 /c /s 207
  2786.      
  2787.      Displays "Goodbye, Chuck." centered on row 5 in flashing
  2788. bright white on red background.  Suppresses snow on old CGA sys-
  2789. tems.
  2790.  
  2791.      WRITE @write.doc 15
  2792.      
  2793.      Displays this documentation file on the screen in bright
  2794. white on black background. 
  2795.  
  2796.    If a text file is to be displayed, the /L, /R, and /C switch-|
  2797. es are ignored.  The screen will be cleared, and text will be   |
  2798. displayed a screen at a time.  Users will be prompted with the  |
  2799. familiar "Press any key to continue..." message to continue on  |
  2800. to the next screen.                                             |
  2801.  
  2802.    WRITE returns errorlevels as follows:
  2803.  
  2804.      0   Normal termination                                     
  2805.      1   Text file displayed
  2806.      2   Help screen displayed
  2807.  
  2808.    Note to users of WRITE 1.1 or 1.0:
  2809.    
  2810.    Commands written for earlier versions of WRITE are not com-
  2811. patible with WRITE 2.x.  Sorry, but the new features included
  2812. with WRITE 2.0 demanded a different system of passing parameters
  2813. to the program.  The current switches are similar to those used
  2814. with the remainder of STEENBURGH'S STUFF utilities.  The original
  2815. two releases of WRITE were little more than executable versions 
  2816. of some "C" functions I had written for use in other programs, 
  2817. while version 2.0 is a completely new, much more flexible and 
  2818. capable utility.
  2819.  
  2820.  
  2821.  
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.                                      Page 47
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835. XD Version 2.2                                                  |
  2836. Copyright 1991-1993 Chuck Steenburgh & Tay-Jee Software
  2837.  
  2838.    XD is included as a directory creation/changing utility.     
  2839. There are better ones available, I suggest you get one if       
  2840. you can.  XD does offer advantages over the cd and md commands  
  2841. found in DOS.
  2842.  
  2843. Usage:       XD [drive:][\directory]...
  2844.  
  2845.           drive:          Drive letter (with colon) that you
  2846.                           want to switch to.
  2847.  
  2848.          \directory       Directory (with slash) that you want
  2849.                           to change to.  If it does not exist,
  2850.                           XD will create it and then move you
  2851.                           there.
  2852.  
  2853. Examples:
  2854.  
  2855.      XD D:\DOS            Changes to drive D: (if necessary)
  2856.                           then changes to the \DOS directory,
  2857.                           creating it if necessary.
  2858.                           
  2859.      XD QPRO\DATA         Changes to subdirectory QPRO, then
  2860.                           to subdirectory DATA, creating it
  2861.                           if necessary.
  2862.                           
  2863.    If you are using XD to create a new directory, you may only
  2864. create one new level.  For example, if you issue the command
  2865. "XD C:\DOS\UTILITY" and that directory does not exist, XD will
  2866. create IF C:\DOS already exists.
  2867.  
  2868.    XD sets the errorlevel to 1 if the above condition is en-
  2869. countered and it is unable to create a new directory.  XD also
  2870. will set the errorlevel to 2 if the specified drive does not
  2871. exist.  Either error condition also results in the sounding of
  2872. a tone.
  2873.  
  2874.    Entering XD without any parameters will cause a dialog box
  2875. to appear on screen.  Enter the desired drive and/or directory
  2876. in the dialog box and press <Enter>.
  2877.  
  2878.    If a trailing backslash is included in the path name, it     |
  2879. will be removed befroe further processing.                      |
  2880.  
  2881.  
  2882.  
  2883.  
  2884.  
  2885.  
  2886.  
  2887.  
  2888.  
  2889.  
  2890.                                      Page 48